#ifndef __SENSOR_API_H_
#define __SENSOR_API_H_


#include <linux/input.h>                                                                                                                       
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
#include <fcntl.h>
#include <stdio.h>
#include <time.h>
#include <sys/time.h>
#include <sys/times.h>
#include <signal.h>

#if 1
typedef enum
{
	LCD_CTRL_MODE_MANUAL = 0,		// manual control,  相当于禁止  LSENSOR 和 PSENSOR,此时 app 可以调用API随意控制lcd亮度.
	LCD_CTRL_MODE_LSENSOR,			// Only LSENSOR, 仅使用 LSENSOR 控制 lcd
	LCD_CTRL_MODE_PSENSOR,			// Only PSENSOR, 仅使用 PSENSOR 控制 lcd
	LCD_CTRL_MODE_AUTO, 			// LSENSOR + PSENSOR,  自动模式，同时使用 PSENSOR 和 LSENSOR 控制 lcd
}  LCD_CTRL_MODE;
#endif

/***************************************************************************/

int sensor_init( void);
int sensor_uninit( void );
/***************************************************************************/
int psensor_enable( int enable);
int psensor_enable_log( int enable);
int psensor_set_pslevel( int pslevel);
/***************************************************************************/
int lsensor_enable( int enable);
int lsensor_enable_log( int enable);
/***************************************************************************/

/************************************************************
函  数:	lcd_set_backlight_percent
功  能:	lcd背光亮度控制
参  数:
	percent, lcd 背光控制百分比,取值范围 0~100, 设置为0会关闭背光,设置为100是最大亮度.
	
返回值:
	0:	成功
	其他值: 失败

说  明:	
************************************************************/
int lcd_set_backlight_percent( int percent);

/************************************************************
函  数:	lcd_get_backlight_percent
功  能:	lcd获取背光亮度
参  数:
		无
返回值:
		percent,  获取到的 lcd 背光数值,取值范围 0~100, 为0表示是处于熄屏状态

说  明:	
************************************************************/
int lcd_get_backlight_percent( void);


/************************************************************
函  数:	lcd_set_backlight_keeptime
功  能:	lcd背光保持时长
参  数:
	keeptime, 单位为秒,接近传感器控制的lcd背光的熄屏时间
返回值:
	0:	成功
	其他值: 失败
说  明:	
	LCD_CTRL_MODE_MANUAL 模式下,该参数无效。
************************************************************/
int lcd_set_backlight_keeptime( int keeptime);

/************************************************************
函  数:	lcd_get_backlight_keeptime
功  能:	lcd背光保持时长
参  数:
	time, 单位为秒,接近传感器控制的lcd背光的熄屏时间
返回值:
	0:	成功
	其他值: 失败
说  明:	
	LCD_CTRL_MODE_MANUAL 模式下,该参数无效。
************************************************************/
int lcd_get_backlight_keeptime( void);


/************************************************************
函  数:	lcd_set_backlight_ctrl_mode
功  能:	设置lcd背光的控制模式
参  数:
	time, 单位为秒,接近传感器控制的lcd背光的熄屏时间
返回值:
	0:	成功
	其他值: 失败
说  明:	
	LCD_CTRL_MODE_MANUAL 模式下,该参数无效。
************************************************************/
int lcd_set_backlight_ctrl_mode( LCD_CTRL_MODE mode);

/************************************************************
函  数:	lcd_get_backlight_ctrl_mode
功  能:	获取设置lcd背光的控制模式
参  数:
	time, 单位为秒,接近传感器控制的lcd背光的熄屏时间
返回值:
	0:	成功
	其他值: 失败
说  明:	
	LCD_CTRL_MODE_MANUAL 模式下,该参数无效。
************************************************************/
int lcd_get_backlight_ctrl_mode( void);

extern void API_TEST( void);


#endif

